# Copyright 2019 Google LLC
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
#     http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.

# NOTE: This file is auto generated by the elixir code generator program.
# Do not edit this file manually.

defmodule GoogleApi.Calendar.V3.Connection do
  @moduledoc """
  Handle Tesla connections for GoogleApi.Calendar.V3.
  """

  @type t :: Tesla.Env.client()

  use GoogleApi.Gax.Connection,
    scopes: [
      # See, edit, share, and permanently delete all the calendars you can access using Google Calendar
      "https://www.googleapis.com/auth/calendar",

      # See and change the sharing permissions of Google calendars you own
      "https://www.googleapis.com/auth/calendar.acls",

      # See the sharing permissions of Google calendars you own
      "https://www.googleapis.com/auth/calendar.acls.readonly",

      # Make secondary Google calendars, and see, create, change, and delete events on them
      "https://www.googleapis.com/auth/calendar.app.created",

      # See, add, and remove Google calendars you’re subscribed to
      "https://www.googleapis.com/auth/calendar.calendarlist",

      # See the list of Google calendars you’re subscribed to
      "https://www.googleapis.com/auth/calendar.calendarlist.readonly",

      # See and change the properties of Google calendars you have access to, and create secondary calendars
      "https://www.googleapis.com/auth/calendar.calendars",

      # See the title, description, default time zone, and other properties of Google calendars you have access to
      "https://www.googleapis.com/auth/calendar.calendars.readonly",

      # View and edit events on all your calendars
      "https://www.googleapis.com/auth/calendar.events",

      # See the availability on Google calendars you have access to
      "https://www.googleapis.com/auth/calendar.events.freebusy",

      # See, create, change, and delete events on Google calendars you own
      "https://www.googleapis.com/auth/calendar.events.owned",

      # See the events on Google calendars you own
      "https://www.googleapis.com/auth/calendar.events.owned.readonly",

      # See the events on public calendars
      "https://www.googleapis.com/auth/calendar.events.public.readonly",

      # View events on all your calendars
      "https://www.googleapis.com/auth/calendar.events.readonly",

      # View your availability in your calendars
      "https://www.googleapis.com/auth/calendar.freebusy",

      # See and download any calendar you can access using your Google Calendar
      "https://www.googleapis.com/auth/calendar.readonly",

      # View your Calendar settings
      "https://www.googleapis.com/auth/calendar.settings.readonly"
    ],
    otp_app: :google_api_calendar,
    base_url: "https://www.googleapis.com/calendar/v3/"
end
